Servers and computers in general perform a predefined bootstrapping (“boot”) process upon power-up. In a typical boot process, the computer's Built-In Operating System (BIOS) initializes the various peripherals of the computer, e.g., network adapter, graphics processor and disks. Some computer peripherals support “Option-ROM”—program code, typically stored in on-board non-volatile memory, which is called and executed by the BIOS. Option-ROM is also sometimes referred to as “Expansion ROM.” One example use-case of Option-ROM is network-boot Option-ROM, which is stored in a network adapter and enables the BIOS to load the computer's operating system over a network from a remote location.
Various standardized protocols are used for controlling boot processes. One example protocol is the Unified Extensible Firmware Interface (UEFI) protocol, which is specified, for example, in “Unified Extensible Firmware Interface Specification,” version 2.6, January, 2006.
Another example protocol is Preboot eXecution Environment (PXE), which is a client-server environment that boots a software assembly, retrieved from a network, on PXE-enabled clients. PXE is specified, for example, by Intel Corp., in “Preboot Execution Environment (PXE) Specification,” version 2.1, Sep. 20, 1999, which is incorporated herein by reference.
Yet another example is the Server Management Command Line Protocol (SM CLP), which is specified by the Distributed Management Task Force (DMTF), in “Server Management Command Line Protocol (SM CLP) Specification,” Document DSP0214, version 1.0.2, Mar. 7, 2007, which is incorporated herein by reference.